package com.itany.corejava.day18;

import javax.swing.*;
import java.net.Socket;

public class ChatRoomClient {
    private JFrame jf;
    private Socket s;
    //定义聊天图形组件


    public ChatRoomClient(String nickname) {
        //创建组件

        //创建Socket
        //发送给服务器进入消息，用户名
    }

    private void init(){
        //布局
    }

    private void setStyle(){
        //设置样式
    }

    private void addEventHandler(){
        //提交按钮加监听
            //获得文本框内容
            //将用户名和内容同时发到服务器
            //文本框清空

        //文本框加监听
            //获得文本框内容
            //将用户名和内容同时发到服务器
            //文本框清空

        //抖动按钮加监听
            //发送一个特殊的内容表示抖动到服务器

        //窗口关闭加监听
            //弹出询问框是否确认关闭
            //发送给服务器退出消息，用户名
            //睡200毫秒
            //释放资源
            //退出程序

        new Thread(){
            @Override
            public void run() {
                //不停的从服务器端读取数据
                    //读到每一行数据判断是什么消息
                    //聊天消息
                        //将消息显示到文本域中
                        //光标定位到最后(文本域.select(文本域.getText().length(),文本域.getText().length()))

                    //抖动消息
                        //改变窗口位置抖动

                    //进入或退出消息
                        //更新在线用户列表
            }
        }.start();
    }

    public void show(){
        init();
        setStyle();
        addEventHandler();
        jf.pack();
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    }

    public static void main(String[] args) {
        String nickname=JOptionPane.showInputDialog("输入聊天昵称");
        new ChatRoomClient(nickname).show();
    }
}
